0
我不是MYSQL的專家,主要在tsql中開發,但我需要編寫一段動態代碼,它會根據特定的日期範圍給出每個表的記錄數。下面的代碼給了我數據庫中所有表的行數,但是我有第二個表,每個表都有一個記錄,並說明它是否有我可以查詢的create_date字段。我想要做的是改變我的代碼來查看輔助表,並使用created_date字段(如果可用的話)構建select語句。計劃是在過程的頂部傳遞一個日期,並使用該日期來計算僅在必填字段可用時的計數,如果不可用,則將顯示總記錄數。動態mysql記錄計數
希望已經有所作爲,任何指針都會非常感謝,正如我之前所說MYSQL不是我的東西,但我想學習。
由於P
SET SESSION group_concat_max_len = (1000000);
SET GLOBAL max_allowed_packet = (50*1024*1024);
select
-- Sort the tables by count
concat(
'select * from (',
-- Aggregate rows into a single string connected by unions
group_concat(
-- Build a "select count(1) from db.tablename" per table
concat('select ',
quote(db), ' db, ',
quote(tablename), ' tablename, '
'count(1) "rowcount" ',
'from ', db, '.', tablename)
separator ' union ')
, ') t ')
into @sql
from (
select
table_schema db,
table_name tablename
from information_schema.tables
where table_schema not in
('sampledatabase')
) t;
-- Execute @sql
prepare s from @sql; execute s; deallocate prepare s;
嗨Solarflare,這是燦爛的,正是我期待的,你每天都在學習新的東西。 – PJD