我想通过增加计数循环使用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'。 –