我需要你的帮助!
我的数据库中有这个。
table name: tblClient
-------------------------------------------------
id | stars1 | stars2 | stars3 |
-------------------------------------------------
1 | 5 | 0 | 0 |
2 | 4 | 0 | 0 |
3 | 0 | 5 | 0 |
4 | 0 | 4 | 0 |
5 | 0 | 0 | 5 |
-------------------------------------------------
提出此输出的SQL语句是什么?
-------------------------------------------------
id | stars1 | stars2 | stars3 |
-------------------------------------------------
1 | 5 | 0 | 0 |
3 | 0 | 5 | 0 |
5 | 0 | 0 | 5 |
2 | 4 | 0 | 0 |
4 | 0 | 4 | 0 |
-------------------------------------------------
我已完成此SELECT * FROM tblClient ORDER BY stars1 DESC,stars2 DESC,stars3 DESC,id ASC
但似乎输出错误。
任何帮助将不胜感激:)
答案 0 :(得分:2)
以下是查询:
SELECT id,stars1, stars2 ,stars3
FROM(
SELECT id,stars1, stars2 ,stars3, (stars1+stars2+stars3) as sum
FROM tblClient
GROUP by id
ORDER BY sum desc) as sorted;
我为你做了一个小提琴,请在这里查看http://sqlfiddle.com/#!2/dd5d3/10
答案 1 :(得分:0)
试试这个
SELECT * FROM tblClient ORDER BY stars1 desc,stars2 desc,stars3 desc,id desc;
答案 2 :(得分:0)
SELECT * FROM tblCleint ORDER BY stars1 + stars2 + stars3 desc;
这是您的查询解决方案......
答案 3 :(得分:0)
SELECT
*
FROM
tblClients
ORDER BY
stars1*1.1+stars2*1.05+stars3 DESC