我有一个产品列表,我可以在其中得到最受欢迎的产品随着时间的推移。我还有一份产品清单。这个名单每天都会改变。
我要做的是显示列表B的所有产品,并将其与列表A的流行产品一起订购。例如:
列表A将包含:

banana
apple
banana
orange
apple
banana

列表B将包含:
potato
rice
banana
bread
orange

现在输出必须是:
banana
orange
potato
rice
bread

如何用一个SQL命令来实现这一点?
谢谢

最佳答案

    SELECT B.Col1, CNT FROM LISTB B
    LEFT OUTER JOIN
    (SELECT Col1, COUNT(*) CNT
     FROM LISTA A GROUP BY Col1) A1 ON b.col1 = A1.col1
    ORDER BY CNT DESC

检查这个-http://sqlfiddle.com/#!3/34f5f/1

关于mysql - 使用多个表订购热门商品,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11957543/

10-11 05:22