我想通過增加計數循環使用SQL順序來選擇數據。SQL - 如何通過增加計數循環來選擇順序
這是很難解釋沒有例子。
下面有一個表中的數據:
SELECT * FROM data_table ORDER BY point
遞減
-------------------
| point | data | cat |
===================
| 9 | a | 5 |
| 8 | b | 5 |
| 7 | c | 4 |
| 6 | d | 1 |
| 5 | e | 2 |
| 4 | f | 1 |
| 3 | g | 3 |
| 2 | h | 2 |
| 1 | i | 3 |
選擇~~ ORDER BY增加 '貓' 循環。
期望的結果是:
-------------------
| point | data | cat |
===================
| 6 | d | 1 | -> There are two '1', but this one have bigger point value.(6>4)
| 5 | e | 2 | -> There are two '2', but this one have bigger point value.(5>2)
| 3 | g | 3 |
| 7 | c | 4 |
| 9 | a | 5 |
| 4 | f | 1 |
| 2 | h | 2 |
| 1 | i | 3 |
-> Skip cat '4' because there are no '4' cat value more.
| 8 | b | 5 |
我在PHP中使用SQL。
如果沒有辦法得到這個,我想我必須找到或寫入php代碼。
請給我一個幫助,儘可能簡單地查詢這個。
謝謝。
在我的情況下,id
不是一個實際的「id」,只是一個INT字段。 - >修正「點」
它表示「可以複製並具有較大的整數值」。
那麼什麼是PHP的解決方案你有嗎?可能是,某人或我自己可以轉換成MySQL查詢。 –
哦,我編輯那句話。這可能會帶來誤解。我找不到任何解決方案。 –
好吧。你能告訴我背後的邏輯是什麼嗎?首先獲得哪個'1'?或者......你明白嗎?有兩個或更多'1'。 –