看下面的提示: ORDER BY items must appear in the select list if SELECT DISTINCT is specified. 你自己的语句出问题是因为sn不在你选择的列中, wuxfbs() 的语句应该是没问题的,除非表中没有star或sn的字段或者star不是字符型的,不过可能不符合你的要求。 把你的表结构写出来,可以给你一个答案。
不是呀,SELECT执行后,在选择出的内容中还是有名称重复的呀
select distinct name from ( select * from products where star='1' order by sn DESC )
select distinct name,sn from products where star='1' order by sn DESC 行不行? 不行的话这个: select name from (select distinct name from products where star='1') t left join products on t.name=products.name order by products.sn desc
select DISTINCT rtrim(ltrim(name)) from products where star='1' order by sn DESC
id 为自动编号 name star ptype logo brief apply usage dosage label amount_type amount exo_package package exo_box1 exo_box2 sn (int)
或者: select distinct name from (select * from products where star='1' order by sn desc) t
x_zing(阿浩) 我刚测试过,select distinct name from (select * from products where star='1' order by sn desc) t有错误。子查询只有同时指定了 TOP,才可以指定 ORDER BY。
x_zing(阿浩) 的 select distinct name from (select * from products where star='1' order by sn desc ) t sky_blue(老衲)的 select DISTINCT rtrim(ltrim(name)) from products where star='1' order by sn DESC去掉order by sn DESC都可以执行,结果也正确,只是显示顺序就错了 我把order by sn DESC改成order by id DESC也不行 是什么原因呀 我以前用的语句没有order by sn DESC这个零件,哈哈,好痛呀!
那麼費勁干嘛?! 把sn同時Select出來就好了,速度肯定不會比你單獨Select一列慢.(int型嘛)select DISTINCT name,sn from products where star='1' order by sn DESC
From Books on line.ORDER BY 子句可以包括未出現在選取清單中的項目。 但是,如果指定了 SELECT DISTINCT,或者 SELECT 陳述式含有 UNION 運算子,那麼排序資料行就必須出現在選取清單中。此外,SELECT 陳述式中包含 UNION 運算子時,資料行名稱或資料行別名必須在第一選取清單中指定
ORDER BY items must appear in the select list if SELECT DISTINCT is specified.
你自己的语句出问题是因为sn不在你选择的列中,
wuxfbs() 的语句应该是没问题的,除非表中没有star或sn的字段或者star不是字符型的,不过可能不符合你的要求。
把你的表结构写出来,可以给你一个答案。
select * from products where star='1' order by sn DESC
)
行不行?
不行的话这个:
select name from (select distinct name from products where star='1') t left join products on t.name=products.name order by products.sn desc
name
star
ptype
logo
brief
apply
usage
dosage
label
amount_type
amount
exo_package
package
exo_box1
exo_box2
sn (int)
select distinct name from (select * from products where star='1' order by sn desc) t
select distinct name from (select * from products where star='1' order by sn desc ) t
sky_blue(老衲)的
select DISTINCT rtrim(ltrim(name)) from products where star='1' order by sn DESC去掉order by sn DESC都可以执行,结果也正确,只是显示顺序就错了
我把order by sn DESC改成order by id DESC也不行
是什么原因呀
我以前用的语句没有order by sn DESC这个零件,哈哈,好痛呀!
把sn同時Select出來就好了,速度肯定不會比你單獨Select一列慢.(int型嘛)select DISTINCT name,sn from products where star='1' order by sn DESC
我写的代码还有各位的代码在调试器中基本都能通过
可在程序中就是有错,不是这句代码的我问题,而是原先程序的错误
谢谢各位。
N_Chow(一劍飄香++) 也谢谢你,虽然你来晚了,但还是谢谢你
我的问题还会很多,还请各位帮忙