0
我对代理商在不同的时间不同的选择,投票的一些数据:MYSQL复杂的逻辑选择查询
+------------+-------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+-------------+------+-----+---------+----------------+
| ID | int(10) | NO | PRI | NULL | auto_increment |
| option | varchar(50) | NO | | NULL | |
| agent | varchar(50) | NO | | NULL | |
| date | datetime | NO | | NULL | |
+------------+-------------+------+-----+---------+----------------+
现在我想输出,其中至少一个代理投票至少所有行在吨日期最多Ø选项之一。
所以,假设,例如,一个 = 2,吨 = 3,Ô = 1。然后我想只输出那些行,其总和达到(计数)> = 3 * 2,并且其中至少3个不同的日期是的2名不同剂至多1个选项之一分组表决。例如:
的选择命令我正在寻找应该输出:
+--------+-------+------+
| option | agent | date |
+--------+-------+------+
| opt1 | a | 1 |
| opt1 | a | 2 |
| opt1 | a | 3 |
| opt2 | b | 1 |
| opt2 | b | 2 |
| opt2 | b | 3 |
| opt1 | c | 1 |
| opt1 | c | 2 |
| opt1 | c | 3 |
+--------+-------+------+
只有代理的行和c:
+--------+-------+------+
| opt1 | a | 1 |
| opt1 | a | 2 |
| opt1 | a | 3 |
| opt2 | b | 1 |
| opt1 | c | 1 |
| opt1 | c | 2 |
| opt1 | c | 3 |
+--------+-------+------+
有没有办法这样做或做我必须通过脚本(PHP)运行一组组合?非常感谢,基督教
我有些由您的要求混为一谈。你能否在你的描述中多加几个阶段。我看不出为什么代理商b一次都在最终结果中,他们的所有条目看起来都是相同的,还是只有那里存在拼写错误? – Kickstart
这是我的困惑点:“至少投在t日期最多O选项之一。”是0的错字? –
感谢您的意见! @Kickstart:我很抱歉 - 输出中包含代理b的行不正确。广告Len_D:“o”代表选项的数量。其实,我可以简化查询,我需要如下背后的逻辑:显示所有的行,以便为_a * T_行有代理_A1,...,Aa_,红枣_T1,...,TT_和选项_O1 .. Oo_,以便每个代理选择_O1,...,Oo_选项中的一个日期。 ... – Christian