好的,很难搞清楚如何进行此查询。
我有一个结算日志表,其中包含以下字段:
+----+---------+--------+--------------+
| ID | OrderID | FileID | CollectionID |
+----+---------+--------+--------------+
| 1 | 113 | 3666 | 345 |
| 2 | 113 | 35354 | 345 |
| 3 | 113 | 3456 | 345 |
| 4 | 113 | 7734 | 345 |
| 5 | 114 | 23 | |
| 6 | 115 | 442 | |
| 7 | 116 | 115 | |
| 8 | 117 | 5141 | 987 |
| 9 | 117 | 1423 | 987 |
| 10 | 118 | 213 | |
| 11 | 119 | 3666 | 345 |
| 12 | 119 | 35354 | 345 |
| 13 | 119 | 3456 | 345 |
| 14 | 119 | 44142 | 345 |
| 15 | 120 | 12321 | |
| 16 | 121 | 789 | 1113 |
| 17 | 122 | 78000 | |
| 18 | 123 | 9987 | |
| 19 | 124 | 7899 | 345 |
| 20 | 124 | 87 | 345 |
| 21 | 124 | 78 | 345 |
+----+---------+--------+--------------+
我试图获得购买集合的次数。在上面的例子中,收集了第345号收集品,一次购买了收集品987,购买了一次收集品1113。
为了澄清这一点,如果您查看ID 1-4,您可以看到有人购买了收集编号345,其中包括以下文件(3666,35354,356和7734),并且他们购买的订单编号为113.
所以我们有一张桌子,我只需要知道每个集合的购买次数。
任何想法?
感谢您的帮助!
克雷格
答案 0 :(得分:4)
这样的事情应该这样做。关键是distinct OrderID
select CollectionID, count(distinct OrderID)
from myTable
group by CollectionID
显示结果的
答案 1 :(得分:0)
是啊..您可以使用以下查询:SELECT * column_name * COUNT(*)FROM * table_name * WHERE CollectionID ='345';
希望这会有所帮助..此外,任何Mysql查询的良好资源都是“http://dev.mysql.com/doc/#manual”