- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试构建一个产品评论页面,用户可以在其中评论任何提交的评论,例如亚马逊。我希望页面显示 3 个用户评论以及对每条评论的 2 条回复(如果存在)。
这是table
CREATE TABLE product_review
(`ID` int, `username` varchar(21), `review_title` varchar(30), `review_or_reply` int)
;
INSERT INTO product_review
(`ID`, `username`, `review_title`, `review_or_reply`)
VALUES
(1, 'Tom', 'Rip-off', 0),
(2, 'Peter', 'Rip-off', 1),
(3, 'May', 'Rip-off', 1),
(4, 'June', 'Rip-off', 1),
(5, 'Tommy', 'Worth the Price', 0),
(6, 'Sammy', 'Worth the Price', 1),
(7, 'Sam', 'Worth the Price',1),
(8, 'Bryan','Worth the Price',1),
(9, 'Sally', 'Average Product', 0)
;
review_or_reply 字段实际上是 Yes 或 No 字段,其中 0
表示这是一条评论,1
是其他用户对该评论的评论。
是否有一个 select 语句可以限制 3 个评论并提出其中的两个评论?例如:
Select `username`,`review_title`,`reply` from product_review where review_or_reply ='0' Limit 3
Select `username`,`review_title`,`reply` from product_review where review_or_reply = '1' and title = 'Rip-off' Limit 2
Select `username`,`review_title`,`reply` from product_review where review_or_reply = '1' and title = 'Worth the Price' Limit 2
Select `username`,`review_title`,`reply` from product_review where review_or_reply = '1' and title = 'Average Product' Limit 2
我希望输出是这样的:
username review_title review_or_reply
Tom Rip-off 0
Peter Rip-off 1
May Rip-off 1
Tommy Worth the Price 0
Sammy Worth the Price 1
Sam Worth the Price 1
Sally Average Product 0
最佳答案
这将返回 3 个 review_titles,然后提取两个对此的回复
SELECT
pr.*,
IF( @A = t.review_title,
IF(@B = 3, @B := 1, @B := @B +1)
, @B
) AS group_col,
@A := t.review_title
FROM (
SELECT
id,
username,
review_title
FROM product_review
WHERE reply ='0' LIMIT 3
) t
JOIN product_review pr ON pr.review_title=t.review_title
CROSS JOIN (SELECT @A := "", @B := 1) AS temp
GROUP BY group_col, review_title
ORDER BY id;
<小时/>
编辑:
如果数据库中多个回复为 0,则此查询将检查这一点。 (因为您确实在其他查询中指定回复必须为 1)。
INSERT INTO product_review
(`ID`, `username`, `review_title`, `reply`)
VALUES
(1, 'Tom', 'Rip-off', 0),
(2, 'Peter', 'Rip-off', 1),
(3, 'May', 'Rip-off', 0),
(4, 'June', 'Rip-off', 1),
(5, 'Tommy', 'Worth the Price', 0),
(6, 'Sammy', 'Worth the Price', 1),
(7, 'Sam', 'Worth the Price',1),
(8, 'Bryan','Worth the Price',1),
(9, 'Sally', 'Average Product', 0),
(10, 'Timothy', 'Rip-off', 1)
注意,在 id 3 处有一个回复 0,在 id 10 处有一个回复 1。此查询将正确地跳过回复 = 0。
SELECT
pr.*,
IF( @A = t.review_title,
IF(pr.reply = 0, 1,
IF(@B = 3, @B := 1, @B := @B +1)
), @B
) AS group_col,
@A := t.review_title
FROM (
SELECT
DISTINCT
id,
username,
review_title
FROM product_review
WHERE reply ='0'
GROUP BY review_title
LIMIT 3
) t
JOIN product_review pr ON pr.review_title=t.review_title
CROSS JOIN (SELECT @A := "", @B := 1) AS temp
GROUP BY group_col, review_title
ORDER BY id;
关于mysql - 一份声明中包含两个限制条款?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24936690/
我的文件示例: [ { username: 'userA', action: 'click', page: 'home' }, { username: 'u
在 AgdaIntro 中, View 部分解释了: ..that with doesn’t remember the connection between the with-term and the
似乎 In 子句在 Linq 3.0 (trunk) 中不能正常工作 我尝试了以下操作: var l = session.Query.Where(p => searchGroups.Contains(
我想在kibana中创建一个可视化效果,以显示不同数据的平均值。我已经创建了显示在日志中的字段,并且还执行了管理->索引模式->刷新。 现在,当我尝试以可视化方式创建图表时-> e.x(条形图)->汇
想象以下搜索词“棕狐”。 所有文档确实都有另一个字段,称为备用名称。 该字段有时包含诸如“动物”或“狐狸”之类的漂亮术语。有时它包含“不好的”(或人类可读的)术语,例如ED2314或1231-234-
我正在尝试使用 Z3 的 HORN 逻辑(set-logic HORN)对一些命令式程序进行编码,但在定义子句时遇到一些困难(使用 SMT2)。谁能告诉我在哪里可以找到有关 Z3 的此功能的良好文档来
我有一个办公室 ID 数组,该数组可能为空。如果 officeIdsToSelect 数组为空,我希望 EF 查询返回所有 记录,或者如果不为空,则仅返回匹配的记录。然而这: int[] office
我正在使用 ark 从 oracle 下载中下载 jdk7u51。 ark 'jdk' do url 'http://download.oracle.com/otn/java/jdk/7u51-
我正在处理一个项目(其他人的代码),其中一个方法被声明为抛出一堆它不可能抛出的已检查异常。 基本上,该方法如下所示: // Assume E1 extends Exception // Assume
所以,我想我理解级联文件系统的基本术语,但我似乎无法理解 MVC 的“层次结构”。谁能告诉我使用 HMVC 相对于 MVC 的优势以及它的基本预期功能吗? 感谢您的宝贵时间! 最佳答案 HMVC 更适
在C++ draft standard N3337节[expr.const.cast]/8 : The following rules define the process known as cast
我是一名优秀的程序员,十分优秀!