SELECT title_id, 'Profit'=price*ytd_sales
FROM titles
ORDER BY 'Profit' desc
--〉
SELECT title_id, 'Profit'=price*ytd_sales
FROM titles
ORDER BY price*ytd_sales desc这里不是desc有理解问题,而是
ORDER BY 'Profit' desc
的'Profit'是字符串常量,而不是你需要的字段名
FROM titles
ORDER BY 'Profit' desc
--〉
SELECT title_id, 'Profit'=price*ytd_sales
FROM titles
ORDER BY price*ytd_sales desc这里不是desc有理解问题,而是
ORDER BY 'Profit' desc
的'Profit'是字符串常量,而不是你需要的字段名
解决方案 »
- 本地的access表与远程的sqlserver作连接查询?
- 数据库如何设计啊
- 我的机器中运行着这样一个数据库PROJECTWISE,它是干什么用的?
- SQL_SERVER中的这个视图如何设计?
- 连接表查询问题(高手请进)
- 求助如何更新这张表!!
- je的字段属性为decimal,为什么<%=rs("je")*0.4%>和<%=rs("je")*cdbl(0.4)%>都没显示??
- 有人向有一百万条记录的数据表里面插入过数据吗?
- 有没有可以定义服务器名和数据库名的变量类型?
- if update(字段名) 这样的写法可以用在mssql2000中吗?
- SQL2000个人版安装问题(在线等急)
- 这个语句问题在哪里??
ORDER BY price desc
单是以price排序,不受ytd_sales的影响
第一个是常量,第二个时price
--插入数据
insert into #a select 1,3,0.2
union select 2,4,0.1
union select 3,5,0.2
union select 4,6,0.05--以num排序:
select ID,num,price=num*num1 from #a order by num desc
--结果:
ID num price
4 6 .30
3 5 1.00
2 4 .40
1 3 .60--以price排序
select ID,num,price=num*num1 from #a order by price desc
ID num price
3 5 1.00
1 3 .60
2 4 .40
4 6 .30 --可以看出结果不同
--测试过再说话declare @t table(a int,b int)
insert @t select 2,1
union all select 1,20select a,'ab'=a*b
from @t
order by 'ab' descselect a,'ab'=a*b
from @t
order by ab descselect a,'abc'=a*b
from @t
order by 'ab' descselect a,'ab'=a*b
from @t
order by a desc
ORDER BY 'Profit' desc
的'Profit'是字符串常量,而不是你需要的字段
但它的结果跟1一样!如果没有'Profit'=price*ytd_sales,单对price排序这偶可以理解!ORDER BY price desc
单是以price排序,不受ytd_sales的影响
第一个是常量,第二个时price
1.谢谢,但仍不解!呵呵... price=num*num1 等同 'Profit'=price*ytd_sales
num 等同 price
2.有啥区别?
GO
SELECT title_id, 'Profit'=price*ytd_sales
FROM titles
ORDER BY 'Profit' desc --这里Profit是被理解为字段名,不是字符串.
GO
1.这个偶知道,呵呵... ORDER BY 'Profit' desc --这里Profit是被理解为字段名,不是字符串. 2.偶不理解ORDER BY price desc之执行结果!
(如果说15*1000<10*3000,假设15,10是price值,1000,3000为ytd_sales值,那么按
price降序,其结果还会同1吗?)
3.点解?
ORDER BY price desc 只是按price排序,与ytd_sales值没有任何关联
邹老大该说的都说了
2.打破沙锅问到底,呵呵...
GO
SELECT title_id, 'Profit'=price*ytd_sales
FROM titles
ORDER BY ytd_sales desc
GO它的结果排序就不同1?USE pubs
GO
SELECT title_id, 'Profit'=price*ytd_sales
FROM titles
ORDER BY price desc
GO它的结果排序就同1.
GO
--1.
SELECT title_id, 'Profit'=price*ytd_sales
FROM titles
ORDER BY 'Profit' desc
GO--2.
SELECT title_id, 'Profit'=price*ytd_sales
FROM titles
ORDER BY price desc
GO/*--结果title_id Profit
-------- ---------------------
PC1035 201501.0000
TC4203 180397.2000
PC8888 81900.0000
BU1032 81859.0500
BU7832 81859.0500
PS3333 81399.2800
MC3021 66515.5400
TC7777 61384.0500
BU2075 55978.7800
BU1111 46318.2000
MC2222 40619.6800
PS7777 26654.6400
PS2091 22392.7500
PS1372 8096.2500
TC3218 7856.2500
PS2106 777.0000
MC3026 NULL
PC9999 NULL(所影响的行数为 18 行)title_id Profit
-------- ---------------------
PC1035 201501.0000
PS1372 8096.2500 --结果一样吗?
TC3218 7856.2500
PC8888 81900.0000
BU1032 81859.0500
BU7832 81859.0500
MC2222 40619.6800
PS3333 81399.2800
TC7777 61384.0500
TC4203 180397.2000
BU1111 46318.2000
PS2091 22392.7500
PS7777 26654.6400
PS2106 777.0000
BU2075 55978.7800
MC3021 66515.5400
MC3026 NULL
PC9999 NULL(所影响的行数为 18 行)--*/