【问题标题】:SQL says the code syntax by DECLARE isn´t correctSQL 说 DECLARE 的代码语法不正确
【发布时间】:2015-09-23 11:32:03
【问题描述】:

我正在尝试一次获取更多数据以将这些数据导出到文档中。 所以我想使用 distinct 来减少数据,然后想用这些来取出 columnrows。

DECLARE @counter INT, 
        @loop INT, 
        @company_name VARCHAR(40)

SET     @counter = 10,
        @loop = 0 

WHILE @loop <= @counter

SELECT Company, Firstname, Surname, eMail, Adress, Place, Phone, Fax FROM `table` 
WHERE Company = PRINT @company_name 
        BEGIN SET @counter = (
                SELECT COUNT (SET @company_name = (
                    SELECT DISTINCT Company FROM `table`
                )) FROM `table`
           )
        SET @loop = @loop +1
       END

【问题讨论】:

  • 你的代码是在字面上使用table 并被刻度包围,还是你有一个真实的表名?
  • 这是一个奇怪的查询,你为什么要循环?
  • 似乎比它需要的复杂得多。为什么不做一个简单的select distinct
  • 我在那里有一个真正的表名^^ 我是编码初学者,但我认为必须一次又一次地重复查询以获取我需要的数据
  • 我正在使用 mySQL

标签: mysql count distinct declare


【解决方案1】:

我认为你需要设置循环而不是计数器

SET @loop = @loop +1

而不是

SET @counter = @counter +1

【讨论】:

  • 嗨@Wollhaar,如果这个或任何答案解决了您的问题,请点击复选标记考虑accepting it。这向更广泛的社区表明您已经找到了解决方案,并为回答者和您自己提供了一些声誉。没有义务这样做。
  • 没错,我用那种语法会更好,但这并不能解决我遇到的问题
猜你喜欢
  • 1970-01-01
  • 2013-12-04
  • 2022-01-18
  • 2016-06-08
  • 1970-01-01
  • 1970-01-01
  • 2019-02-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多