SQL - 计算1个字段中的实例,其中第2个变量

时间:2017-06-13 15:22:26

标签: sql countif

感谢您花一点时间阅读本文...在SQL,Python和VBA中尝试了这一点,没有运气(各种原因)。

我认为数据和概念非常简单 - 但我似乎无法使其发挥作用。

第1栏有股票市场代码;第2列有公司名称。但是,许多公司名称已被截断,或随着时间的推移而发生变化。我想找到每个自动收报机的每个实例,其中该自动收报机的名称不止一个。

例如,我的文件有这4行

combo->installEventFilter(this);
//...

bool MainWin::eventFilter(QObject *obj, QEvent *ev)
{
    if( obj == combo 
        && (ev->type() == QEvent::Enter
        || ev->type() == QEvent::HoverMove) )
    {
        combo->setCursor(Qt::PointingHandCursor);
        combo->view()->setCursor(Qt::PointingHandCursor);

        return true;
    }
    return QMainWindow::eventFilter(obj, ev);
}

我希望看到3个独特的公司名称

IBM | Int Bus Mach
IBM | International Business M
IBM | Intl Bus Machines
IBM | Int Bus Mach

任何想法都值得赞赏!

谢谢!

3 个答案:

答案 0 :(得分:1)

根据您的数据示例,您应该执行以下操作:

SELECT
    market_ticker,
    company_name,
    count(*)
FROM yourTable
GROUP BY
    market_ticker,
    company_name

额外的列将给出市场代码和公司名称重复的次数。

答案 1 :(得分:0)

这里有2步Sql解决方案。 我会做以下

简单明确的查询,以获得所有股票和公司组合然后转动

select *,
ROW_NUMBER() OVER(PARTITION BY TickerColumn ORDER BY NameColumn) AS NameNum
into #Temp
From 
(
Select distinct TickerColumn, NameColumn
from Table
)x

然后Pivot ColumnNames

Select TickerColumn, [1],[2],[3],[4]
From
(select * from #temp) as Source
Pivot
(
Max(NameColumn)
For NameNum in ([1],[2],[3],[4]) ---You can add or reduce number of columns
) As PivotTable;

答案 2 :(得分:0)

可以尝试这样的事情。会带来不同的名字。

mFirebaseDatabaseReference.child(MESSAGES_CHILD).limitToLast(10)