내 질문은 정말 간단합니다.이 추악한 데이터베이스에 너무 많은 레코드가 있고 PHP 코드가 너무 많은 메모리를 사용하여 모든 레코드를 가져 오기 때문에이 쿼리에 얼마나 많은 결과가 있는지 계산해야합니다. 이 쿼리가 얼마나 많은 레코드를 생성하는지 계산할 것이고 PHP를 사용하면 루프를 사용하여 한 번에 10k 레코드를 가져올 것입니다. 이 SQL 쿼리에서 COUNT를 사용하는 방법은 무엇입니까?
이
쿼리입니다 : 이미이 (노호) 시도SELECT p.Email,
c.ID_Cliente,
c.DataHoraUltimaAtualizacaoILR,
p.Nome,
upper(substring(p.Nome, 1, charindex(' ', p.Nome + ' '))) as 'PrimeiroNome',
p.DataHoraCadastro,
p.Sexo,
p.EstadoCivil,
p.DataNascimento,
getdate() as [today],
datediff (yy,p.DataNascimento,getdate()) as 'Idade',
datepart(month,p.DataNascimento) as 'MesAniversario',
e.Bairro,
e.Cidade,
e.UF,
c.CodLoja as codloja_cadastro,
t.DDD,
t.Numero
from PessoaFisica p
left join Cliente c on (c.ID_Pessoa = p.ID_PessoaFisica)
left join Loja l on (cast(l.CodLoja as integer) = cast(c.CodLoja as integer))
left join PessoaEndereco pe on (pe.ID_Pessoa = p.ID_PessoaFisica)
left join Endereco e on (e.ID_Endereco = pe.ID_Endereco)
left join PessoaTelefone pt on (pt.ID_Pessoa = p.ID_PessoaFisica)
left join Telefone t on (t.ID_Telefone = pt.ID_Telefone)
where p.Email is not NULL and p.Email <> ''
group by p.Email, c.ID_Cliente, p.Nome, p.EstadoCivil, p.DataHoraCadastro, c.CodLoja, p.Sexo, e.Bairro, p.DataNascimento, e.Cidade, e.UF, c.DataHoraUltimaAtualizacaoILR, t.DDD, t.Numero
하지만 카운트가이 쿼리의 결과의 총과 다른, 그것은 일치해야합니다 :
SELECT COUNT(p.Email)
FROM PessoaFisica p
left join Cliente c on (c.ID_Pessoa = p.ID_PessoaFisica)
left join Loja l on (cast(l.CodLoja as integer) = cast(c.CodLoja as integer))
left join PessoaEndereco pe on (pe.ID_Pessoa = p.ID_PessoaFisica)
left join Endereco e on (e.ID_Endereco = pe.ID_Endereco)
left join PessoaTelefone pt on (pt.ID_Pessoa = p.ID_PessoaFisica)
left join Telefone t on (t.ID_Telefone = pt.ID_Telefone)
where p.Email is not NULL and p.Email <> ''
MS SQL Server를 사용 중입니다
select count (*) from (... 첫 번째 쿼리를 여기에 넣으십시오 ...); – Multisync
@Multisync 'from'키워드 근처의 구문이 잘못되었습니다. –
위 쿼리와 count 결과를 원한다면 쿼리 후'select @@ rowcount'를 입력하십시오. 그렇지 않으면 @multisync가 제안한 대답이 작업을 수행합니다. 또한 'PrimeiroNome'으로 별칭을 지정할 필요가 없습니다. PrimeiroNome 또는 [PrimeiroNome] –