SQL統計問題,怎麼樣實現按天查詢出沒有的記錄條數。高手回答一下

2022-02-25 19:06:20 字數 6147 閱讀 5934

1樓:匿名使用者

sqlserver寫法

其他資料庫的話,語法得改,欄位型別不一致的話也得改

建立表create table test

(姓名 varchar(10),

時間 varchar(10))

insert into test values ('張三','2014-1-2')

insert into test values ('張三','2014-1-6')

insert into test values ('李四','2014-1-2')

執行select s1.*

from

(select t2.姓名,t1.rq

from

(select convert(varchar(10),rq,120)  rq

from

(select cast('2014-1-2' as datetime)+number rq from master..spt_values where type='p') t

where t.rq between '2014-1-2' and '2014-1-6') t1,

(select distinct 姓名 from test) t2) s1

where not exists (select 1 from test s2 where s1.姓名=s2.姓名 and s1.

rq=convert(varchar(10),cast(s2.時間 as datetime),120))

結果----------------------補充---------------

你下次能不能直接追問,這樣補充都看不到的,幸虧我又看了一眼

select s1.*

from

(select t2.姓名,t1.rq

from

(select convert(varchar(10),rq,120)  rq

from

(select cast('2014-1-2' as datetime)+number rq from master..spt_values where type='p') t

where t.rq between '2014-1-2' and '2014-1-6') t1,

(select 姓名 from 人員表) t2) s1

where not exists (select 1 from test s2 where s1.姓名=s2.姓名 and s1.

rq=convert(varchar(10),cast(s2.時間 as datetime),120))

order by s1.姓名,s1.rq

我新建了一個人員表,裡邊就一列,叫「姓名」

2樓:匿名使用者

create table #a (empname char(10),dat datetime)

insert into #a select '張三','2014-01-02'

insert into #a select '張三','2014-01-06'

insert into #a select '李四','2014-01-02'

create table #b (dat datetime)

declare @a datetimedeclare @b datetime

select @a=min(dat) from #a

select @b=max(dat) from #a

while (@a<=@b)

begin

insert into #b

select @a

set @a=dateadd(day,1,@a)

endselect t3.* from (select distinct t1.empname,t2.

dat from #a t1, #b t2) t3where t3.empname not in (select empname from #a where t3.dat=#a.

dat)order by t3.empname,t3.dat

3樓:

用函式todate() select * from 表 where todate(時間,「yy-mm-dd」) > 值

如何統計sql語句查詢出來的條數?

4樓:匿名使用者

可以通過count函式來實現。

sqlone:select * from tablename1 where id>5;此語句查詢出來多條記錄,之後看做一個新的表。

sqltwo:select conut(*) from (select * from tablename1 where id>5) as tablename2;此語句即可查詢出來統計的記錄條數。

備註:以上方法通用於所有的資料統計,如果是單表查詢,可以直接通過:「select count( *) from tablename1 where id>5"的形式查詢出結果。

5樓:千鳥

i=select  count(1)   from table

語句返回值即為查詢出來的條數.

示例如圖所示:

擴充套件:count() 函式返回匹配指定條件的行數。

語法(1). sql count(column_name) 語法

count(column_name) 函式返回指定列的值的數目(null 不計入):

select count(column_name) from table_namesql

(2). count(*) 語法

count(*) 函式返回表中的記錄數:

select count(*) from table_namesql

(3). count(distinct column_name) 語法

count(distinct column_name) 函式返回指定列的不同值的數目:

select count(distinct column_name) from table_name

6樓:匿名使用者

select conut(*) from tablename

7樓:匿名使用者

*改為count(*)就返回記錄條數了,當然也可以用recordset的count屬性

sql 查詢多條符合條件的記錄

8樓:

查詢符合條件的記錄,關鍵字 where

假如:表 table 中有3個欄位,t1,t2,t3並且存在10條記錄,和 t2有5條相同的記錄select * from table where t2='123'

以上sql 就可以得到符合條件的5條記錄

9樓:

你這個在excel裡沒實用的方法.如果非要做可以按下面的做將excel表裡的資料寫到excel裡

然後select * from table where column_a = (select aa from newtable)

aa就是newtable裡放的你excel那一列的資料 當然如果你excel裡的資料有規律的話就可以找別的好方法

10樓:匿名使用者

70幾個條件,這本來就是業務邏輯 連業務邏輯都想省掉 那還寫程式幹什麼呢。。

至於出現70幾個條件,如果確定自己的表設計規範的話,那麼是正常的 上百個欄位的表是很正常的事 你需要確定自己的表是不是符合3nf

11樓:匿名使用者

如果是數字或者日期的話可以用大於與小於號。

sql查詢 如何獲取查詢某id的一條記錄在表中是第幾條記錄

12樓:匿名使用者

可以用row_number函式,如以下資料:

id    name

1       張三

3       李四

5       王五

7       趙六

如查詢王五這條資料在資料庫裡是回第幾條,可以這樣答。

select t.rn from

(select *,row_number() over(order by id) rn from 表名) t

where t.name='王五'

結果會顯示為3,也就是第三條資料

13樓:沉默使用者

查詢一下小於等於id值的記錄數就行了

select count(*) from 表 where id<=id的值

14樓:匿名使用者

沒學過access.不過可以指點個思路..就是給這張表中增加一列nid,查某id的時候順便查出nid..

15樓:

如果是oracle

select rownum

from

where .id=

sql 分組統計,近一週每天的記錄條數。

16樓:匿名使用者

【 time 列明我這裡用了tm  】

執行**:

select convert(nvarchar(10), tm, 120),

(select count(*) from t1

where convert(nvarchar(10), tm, 120) = convert(nvarchar(10), a.tm, 120)

group by convert(nvarchar(10), tm, 120))

from t1 a group by convert(nvarchar(10), tm, 120)

我靠   捨近求遠了

17樓:匿名使用者

不知道你是什麼庫,,,

給出sqlsever的方法

select convert(varchar(10),time,120),count(1)

from dbo.test

group by convert(varchar(10),time,120)

18樓:匿名使用者

oracle,請執行:select to_char(time,'yyyy-mm-dd'),count(id) from table_name group by to_char(time,'yyyy-mm-dd') order by to_char(time,'yyyy-mm-dd');

19樓:匿名使用者

不知道你的資料庫軟體是什麼:樓下兄弟twvampire給你sql資料庫,可以的

20樓:匿名使用者

是mysql的嗎?另外能把資料用文字貼上來,方便測試使用嘛?

mysql 可以使用 left 函式或日期函式來達到分組效果。其它資料庫我就不瞭解了。

關於查詢sql中資料上一條記錄和下一條記錄的sql語句......

21樓:匿名使用者

可用row_number來解決。

如student表

id        name     create_date1         張三        2015-07-012         李四        2015-06-013         王五        2015-08-014         趙六        2015-04-01如,要查詢張三的create_date前和後各一條資料。

with t as

(select student.*,row_number() over(order by create_date) rn from student)

select * from student where rn=(select t.rn+1 from t where t.name='張三')

union all

select * from student where rn=(select t.rn-1 from t where t.name='張三')

結果應是:

id        name     create_date2         李四        2015-06-013         王五        2015-08-01

SQL語句,怎麼樣查成這個樣子,SQL語句請教 如何將查詢出的多個結果作為條件進行查詢?

create table t 單號 varchar 10 碼數 varchar 10 數量 int insert into t values sd 34 5 insert into t values sd 35 4 insert into t values sd 36 2 insert into t...

生物統計學專業的前景怎麼樣,生物統計學就業前景如何

生物統計學專業培養學生根據資料做出合理判斷的能力。統計學是一門很專的學科,但是一個好的統計學工作者也必須是一個通才,不僅熟悉統計工具的運用,也需要了解行業特點,才能做好資料決策。這也是統計工作的一個好處,可以結合你的興趣與幾乎所有其他領域的科學,技術或業務。那麼統計學就業前景怎樣?是不是如果每年的申...

excel中,怎麼樣才能實現這樣的功能

選中需要建立下拉選單的單元格區域,執行 資料 有效性 命令,開啟 資料有效性 對話方塊,在 設定 標籤下,按 允許 右側的下拉按鈕,在隨後彈出的快捷選單中,選擇 序列 選項,然後在下面 方框中輸入序列的各元素 如 高階工程師,工程師,助理工程師,技術員,其他職稱 等 確定返回。注意 各元素這間請用英...