Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何进行此查询?_Sql_Select_Mysql - Fatal编程技术网

Sql 如何进行此查询?

Sql 如何进行此查询?,sql,select,mysql,Sql,Select,Mysql,我有一个包含以下列的mysql表: ID(自动递增) ID\u书(int) 价格(双倍) 数据(日期) 我知道两个ID\u BOOK值,例如1和2 查询: 我必须提取所有价格(ID\u书=1和ID\u书=2),其中数据相同 表示例: 1 1 10.00 2010-05-16 2 1 11.00 2010-05-15 3 1 12.00 2010-05-14 4 2 18.00 2010-05-16 5 2 11.50 2010-05-15 结果示例:

我有一个包含以下列的mysql表:

  • ID(自动递增)
  • ID\u书(int)
  • 价格(双倍)
  • 数据(日期)
我知道两个ID\u BOOK值,例如1和2

查询:

我必须提取所有价格ID\u书=1和ID\u书=2),其中数据相同

表示例:

1  1  10.00  2010-05-16

2  1  11.00  2010-05-15

3  1  12.00  2010-05-14

4  2  18.00  2010-05-16

5  2  11.50  2010-05-15
结果示例:

1  1  10.00  2010-05-16

4  2  18.00  2010-05-16

2  1  11.00  2010-05-15 

5  2  11.50  2010-05-15
ID\u BOOK=2还没有
2010-05-14
,所以我跳过它


非常感谢你

我猜测了您希望结果的排序方式,您需要用表的实际名称替换
myTable

SELECT *
FROM myTable
WHERE DATA IN
(
    SELECT
        DATA
    FROM myTable
    GROUP BY
        DATA
    HAVING COUNT(*) > 1
)
ORDER BY
    DATA DESC,
    ID_BOOK,
    ID

这将为结果提供稍微不同的格式,但它可能会很有用:

Select 
t1.id as t1_id, t1.id_book as t1_id_book, t1.price as t1_price, t1.data as t1_data,
t2.id as t2_id, t2.id_book as t2_id_book, t2.price as t2_price, t2.data as t2_data
from table t1
inner join table t2 on t1.data = t2.data
and t1.id_book = 1
and t2.id_book = 2
你会得到:

1  1  10.00  2010-05-16  4  2  18.00  2010-05-16
2  1  11.00  2010-05-15  5  2  11.50  2010-05-15

请把你写的代码贴出来。人们通常不喜欢只为您编写代码。名称
DATA
是故意的吗?它是一种日期类型。它应该根据它所代表的内容命名,例如,
PURCHASE\u DATE
。您需要将
PRICE
包装在聚合函数中才能工作。它还将返回Damiano希望跳过的日期为
2010-05-14
的行,因为只有一行具有该日期。
1  1  10.00  2010-05-16  4  2  18.00  2010-05-16
2  1  11.00  2010-05-15  5  2  11.50  2010-05-15