когда клиент покупает 2 предмета, у них есть diff invoiceid [duplicate]

Попробовав решение, предложенное Желязным на относительно большом DataFrame (~ 400 тыс. строк), я нашел его очень медленным. Вот альтернатива, которую я обнаружил, чтобы быстрее выполнять заказы на моем наборе данных.

df = pd.DataFrame({
    'sp' : ['MM1', 'MM1', 'MM1', 'MM2', 'MM2', 'MM2', 'MM4', 'MM4', 'MM4'],
    'mt' : ['S1', 'S1', 'S3', 'S3', 'S4', 'S4', 'S2', 'S2', 'S2'],
    'val' : ['a', 'n', 'cb', 'mk', 'bg', 'dgb', 'rd', 'cb', 'uyi'],
    'count' : [3,2,5,8,10,1,2,2,7]
    })

df_grouped = df.groupby(['sp', 'mt']).agg({'count':'max'})

df_grouped = df_grouped.reset_index()

df_grouped = df_grouped.rename(columns={'count':'count_max'})

df = pd.merge(df, df_grouped, how='left', on=['sp', 'mt'])

df = df[df['count'] == df['count_max']]
2
задан Mihai Iorga 22 August 2012 в 10:28
поделиться

2 ответа

, если ваш объект $this->db ссылается на объект PDO, чтобы вы могли использовать этот

$ID=$this->db->lastInsertId();

для сохранения вашего идентификатора, лучше сохранить его в переменной

поэтому после каждой вставки вы можете сохранить ID этой вставленной строки

и помнить, что вы должны использовать ее точно после $sth->execute()

12
ответ дан William Kinaan 21 August 2018 в 04:29
поделиться

Каждый раз, когда вы вставляете запись в таблицу с первичным ключом в качестве автоматического приращения, «LAST_INSERT_ID ()» будет обновляться с самым последним значением. Он не будет постоянным, но да, если ваша таблица не имеет одного, он все равно должен удерживать последнее значение, используемое для таблицы с первичным ключом автоматического увеличения.

1
ответ дан deej 21 August 2018 в 04:29
поделиться
  • 1
    спасибо за помощь, я уже добавил автоинкремент, и я получил ответ, спасибо – LinCR 25 May 2012 в 11:55
Другие вопросы по тегам:

Похожие вопросы: