數據庫Ⅴ——查詢數據操作(2)

一、ORDER BY對查詢結果排序

1.升序

  • 按照id降序排列DESC ,默認的是升序ASC
SELECT * FROM cms_user ORDER BY id ;
SELECT * FROM cms_user ORDER BY id ASC;
SELECT * FROM cms_user ORDER BY id DESC;
  • 按照年齡升序排列
SELECT * FROM cms_user ORDER BY age ASC;

2.降序

  • 按字段位置降序排列
SELECT * FROM cms_user ORDER BY 1 DESC;

更新數據

UPDATE cms_user SET age=12 WHERE id=5;

3.升序、降序同時使用

  • 按照年齡升序,id降序排列
SELECT * FROM cms_user ORDER BY age ASC,id DESC;
#查詢id,age,sex,顯示分組詳情,統計各組人數和各組年齡總和,並且限制條件id>=2 ,按照sex分組,每組人數大於等於2,並且按照年齡降序,id升序排列
SELECT id,age,sex,GROUP_CONCAT(username),COUNT(*) AS totalUsers,SUM(age) AS sum_age 
FROM cms_user 
WHERE id>=2 
GROUP BY sex
HAVING COUNT(*)>=2
ORDER BY age DESC,id ASC;

– 實現記錄隨機

SELECT * FROM cms_user ORDER BY RAND();

二、LIMIT限制顯示條數

1.查詢前n條記錄

  • 查詢表中前3條記錄
SELECT * FROM cms_user LIMIT 3;
  • 查詢按id降序排列的前五條記錄
SELECT * FROM cms_user ORDER BY id DESC LIMIT 5;

2.根據(起始位置,步長)查詢記錄

  • 查詢表中前一條記錄(起始位置,步長)
SELECT * FROM cms_user LIMIT 1;
SELECT * FROM cms_user LIMIT 0,1;
SELECT * FROM cms_user LIMIT 1,1;
SELECT * FROM cms_user LIMIT 0,5;
  • 查詢id,age,sex,顯示分組詳情,統計各組人數和各組年齡最大值、最小值、平均值、總和,並且限制條件id>=1 ,按照sex分組,每組人數大於等於2,並且按照年齡降序排列,取前兩條記錄
SELECT id,sex,age,GROUP_CONCAT(username),
COUNT(*) AS totalUsers,
MAX(age) AS max_age,
MIN(age) AS min_age,
AVG(age) AS avg_age,
SUM(age) AS sum_age
FROM cms_user
WHERE id>=1
GROUP BY sex
HAVING COUNT(*)>=2
ORDER BY age DESC
LIMIT 0,2;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章