簡體   English   中英

使用SQL,如何計算查詢的結果數量?

[英]Using SQL, how do I COUNT the number of results from a query?

我對SQL和一般編碼還是很陌生。

我有一個正常工作的SQL查詢。 我現在要做的就是從該查詢結果返回行數。

當前的SQL查詢是:

SELECT 
    Progress.UserID, Questions.[Question Location],
    Questions.[Correct Answer], Questions.[False Answer 1],
    Questions.[False Answer 2], Questions.[False Answer 3]
FROM
    Questions 
INNER JOIN
    Progress ON Questions.[QuestionID] = Progress.[QuestionID]
 WHERE 
    (((Progress.UserID) = 1) AND 
     ((Progress.Status) <> "Correct")
    );

我知道我需要用

SELECT COUNT(*)

...雖然不太確定如何將其集成到查詢中。

然后,我打算使用OLEDB將結果返回到VB Windows Form App。

非常感謝所有幫助。

謝謝!

要計算所有記錄,請使用簡單的子查詢; 子查詢必須具有別名(在這里,我已將子查詢命名為“ subquery”)。

SELECT COUNT(*) 
FROM (
    SELECT Progress.UserID, Questions.[Question Location],Questions.[Correct Answer], Questions.[False Answer 1],
    Questions.[False Answer 2], Questions.[False Answer 3]
    FROM Questions 
    INNER JOIN Progress ON Questions.[QuestionID] = Progress.[QuestionID]
    WHERE (((Progress.UserID)=1) AND ((Progress.Status)<>"Correct"))
) AS subquery;

一種簡單的方法是使用子查詢:

select count(*)
from (<your query here>) as q;

您也可以將select更改為:

select count(*)

但這不適用於聚合查詢。

與基於SQL的方法完全不同的方法是,一旦返回到應用程序中就對行進行計數-您說您正在使用VB,因此很可能使用數據集來保存查詢結果。 如果是這樣,那么您只需要這段代碼:

dim rowcount as integer = mydataset.mytable.rows.count

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM