我的问题与这个问题相反,是否可以定义排序顺序。
我想从 SQL Server 数据库返回一些记录,根据列的值按升序排序,但两个特定记录应始终放在最后。
原始SQL(需要更改)如下:
select code_id as CategoryID, code_desc as CategoryDescription
from codes
where code_id > '000001' and code_id < '000100'
order by CategoryDescription
Run Code Online (Sandbox Code Playgroud)
结果返回为
我想要以下结果(前两个最后一个带有星号):
我尝试了下面的 UNION 语句,但结果集自动按升序排序,默认情况下这两行在开头。
select code_id as CategoryID, code_desc as CategoryDescription
from codes
where code_id > '000003' and code_id < '000100'
--order by categoryDescription
UNION
select code_id as CategoryID, code_desc as …
Run Code Online (Sandbox Code Playgroud) 这里是这个问题的扩展,我怎样才能获取所有达到允许缺席人数上限的学生的人数。
我试过这个
SELECT COUNT(*) FROM
(
SELECT student_id,
COUNT(attendance)
FROM student_attendance
WHERE attendance = 'ABSENT'
GROUP BY student_id
HAVING COUNT(attendance) = (SELECT max_allowed
FROM configurations)
) abc
Run Code Online (Sandbox Code Playgroud)
但它不起作用并出现此错误:
未为“abc”的第 2 列指定任何列。
环境: SQL Server 2000
我正在尝试在 SQL Server 上完成此操作。带有数据的最简单的表结构如下所示。
Table: Blog
BlogID | Title
-------+--------
1 | FirstBlog
23 | Pizza
Table: User
UserID | Name
-------+-----------
123 | james
444 | John
Table: UserBlogMapping
UserBlogMappingID | BlogID | UserID
------------------+--------+------
1 | 1 | 123
Run Code Online (Sandbox Code Playgroud)
我想在一个 SQL 查询中获取FormID
和UserBlogMappingID
。如果提供UserID
的不在映射表中,则返回零,否则返回有效的userBlogMappingID
。我正在尝试运行以下查询,但它不正确。
SELECT
B.BlogID,
BUM.BlogUserMappingID
FROM
Blog AS B
LEFT JOIN BlogUserMapping AS BUM ON B.BlogID = BUM.BlogID
WHERE
(B.BlogID = 23) -- it exists in the table
AND BUM.userID …
Run Code Online (Sandbox Code Playgroud)