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