0
SELECT DISTINCT(reserve_dummy.isbn) as reserved_dummy.isbn,
       reserved_dummy.price,
       reserved_dummy.qty,
       reserved_dummy.date,
       reserved_dummy.total 
FROM reserved_dummy

您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 1 行的 '.isbn,reserved_dummy.price,reserved_dummy.qty,reserved_dummy.date,reserved_dummy' 附近使用正确的语法

SELECT DISTINCT(reserve_dummy.isbn) as reserved_dummy.isbn,
       reserved_dummy.price,
       reserved_dummy.qty,
       reserved_dummy.date,
       reserved_dummy.total 
FROM reserved_dummy

请帮助我在这里找出我的错误。提前致谢

4

4 回答 4

0

错误是使用语法时的表前缀引起的SELECT DISTINCT(x.y) AS x.y ....,应该是SELECT DISTINCT(x.y) AS y ....

把它拿出来,查询应该可以工作:

SELECT 
    DISTINCT(reserve_dummy.isbn) as isbn,
    reserved_dummy.price,
    reserved_dummy.qty,
    reserved_dummy.date,
    reserved_dummy.total 
FROM 
    reserved_dummy
于 2013-08-12T09:50:05.667 回答
0
SELECT DISTINCT(isbn) AS isbn,
       price,qty,
       date,total 
FROM reserved_dummy

SQL DISTINCT 子句的语法是:

SELECT DISTINCT columns FROM tables

别名时不要使用.(点)运算符

于 2013-08-12T09:44:24.607 回答
0

放弃在每个字段名前加上表名的奇怪想法

SELECT DISTINCT(isbn) as isbn,price,qty,date,total FROM reserved_dummy
于 2013-08-12T09:44:34.280 回答
0

你不能做这样的查询。你可以做一个

select distinct isbn, price, qty, date, total from reserved_dummy

你会得到不同的记录。

但是,我看不出你想从这个查询中得到什么。

也许 isbn 是主键,在这种情况下:

select `isbn`, `price`, `qty`, `date` from reserved_dummy

应该管用。

注意字段名周围的反引号。那是因为“日期”是 MySQL 中的一个函数名,并且使用它作为不带引号的字段名将失败。

如果碰巧有多条记录具有相同的 isbn,并且您想从最新的记录中获取数据,则可以执行如下查询:

select `isbn`, `price`, `qty`, `date`
from reserved_dummy
where (`isbn`, `date`) in (
    select isbn, max(`date`) from reserved_dummy group by isbn
)

得到你正在寻找的东西。

于 2013-08-12T10:06:10.470 回答